<?php
/**
 * 功能：商品管理
 * 说明：
 * 创建日期：2012-9-5
 * 更新日期：
 * 作者：Mirze
 * 补充说明： 
 * 
 */
class GoodsAction extends CommonAction {
	/**  **/
	public function _empty()
	{
		$this->error('goods action not found!');
	}
    public function index(){
		
		$this->display();
    }

	/**
	 * (功能描述) 商品发布
	 *
	 * @param 
	 * @return
	 */
	public function release()
	{
		/**
		import('vendor_fckeditor');

		$editor= new FCKeditor();   //实例化FCKeditor对象

		$editor->Width='980';//设置编辑器实际需要的宽度。此项省略的话，会使用默认的宽度。
		$editor->Height='400';//设置编辑器实际需要的高度。此项省略的话，会使用默认的高度。
		$this->Value='';//设置编辑器初始值。也可以是修改数据时的设定值。可以置空。

		//设置编辑器所在表单内输入标签的id与name，即<input>标签的id与name。此处假设为comment.此处不可省，也要保持唯一性。表单上传到服务器处理程序后，即可通过$_POST['comment']来读取。 
		$editor->InstanceName='comment';		
		$fck = $editor->Createhtml();//创建在线编辑器html代码字符串,并赋值给字符串变量$html.
		**/
		/**
		import('vendor_ckeditor');

		$editor= new CKEditor();   //实例化FCKeditor对象
		$editor->returnOutput = true;
		$editor->basePath = 'http://fs.dir/Vendor/ckeditor/';
		
		$config = array();
		$config['width'] = '600';
		$config['height'] = '300';
		$config['skin'] = 'kama'; //皮肤
		//显示工具栏
		$config['toolbar'] = array(
			array( 'Source', '-', 'Bold', 'Italic', 'Underline', 'Strike' ,'Font','FontSize','TextColor','BGColor'),
			array( 'Image', 'Link', 'Unlink', 'Anchor' )
		);
		
		$config['resize_enabled'] = false; //取消"拖拽以改变尺寸"功能
		$config['language'] = 'zh-cn'; //界面语言，默认为 'en'
		$config['startupOutlineBlocks'] = false; //载入时，是否显示框体的边框 plugins/showblocks/plugin.js 

		//加载js
		$events['instanceReady'] = 'function (ev) {
			alert("Loaded: " + ev.editor.name);
		}';

		$fck = $editor->editor('editor01', '内容编辑区',$config);
		**/

		$fck = self::getCkeditorObj('内容区');

		$this->assign('fck', $fck);//将$html的值赋给模板变量$html.在模板里通过{$fck}可以直接引用。
		$this->assign('page_title', '商品发布');
		$this->display();		
	}

	/**
	 * (功能描述) 实例化输出CKeditor
	 *
	 * @param string $initContent 初台化编辑框内文字
	 * @return html/false
	 */
	static function getCkeditorObj($initContent='')
	{
		import('vendor_ckeditor');

		$editor= new CKEditor();   //实例化FCKeditor对象
		$editor->returnOutput = true;
		$editor->basePath = 'http://fs.dir/Vendor/ckeditor/';
		
		$config = array();
		$config['width'] = '600';
		$config['height'] = '300';
		$config['skin'] = 'kama'; //皮肤
		//显示工具栏
		$config['toolbar'] = array(
			array( 'Source', '-', 'Bold', 'Italic', 'Underline', 'Strike' ,'Font','FontSize','TextColor','BGColor'),
			array( 'Image', 'Link', 'Unlink', 'Anchor' )
		);
		
		$config['resize_enabled'] = false; //取消"拖拽以改变尺寸"功能
		$config['language'] = 'zh-cn'; //界面语言，默认为 'en'
		$config['startupOutlineBlocks'] = false; //载入时，是否显示框体的边框 plugins/showblocks/plugin.js 
		$config['fontSize_defaultLabel'] = '12px'; //字体默认大小
		//$config['fontSize_sizes'] = '12 Pixels/12px;Big/2.3em;30 Percent More/130%;Bigger/larger;Very Small/x-small'; //字体编辑时可选的字体大小

		//加载js
		$events['instanceReady'] = 'function (ev) {
			alert("Loaded: " + ev.editor.name);
		}';

		$fck = $editor->editor('editor01', $initContent,$config);

		return is_object($editor) ? $fck : '加载CKeditor失败.';
	}

	/**
	 * (功能描述) 保存商品信息
	 * 
	 * @param 
	 * @return
	 */
	public function saveGoods()
	{
		$post = $this->_post();

		$data = array();
		$data['title'] = $this->_post('title','trim','');
		$data['price'] = $this->_post('price','trim',0);
		$data['discount'] = $this->_post('discount','intval','100');		
		$data['memo'] = $this->_post('editor01','trim','暂无内容');
		$data['type'] = $this->_post('type','intval', 0);
		$key_word = $this->_post('key_word','trim','');
		if(!empty($key_word)) {
			$data['key_word'] = $key_word;
		}

		$data['auth_opt'] = $this->_session('trsId','',0); //当前登录用户ID
		$data['ctime'] = time();

		if(empty($data['price']) || $data['price'] < 0) {
			$this->error('请正确输入价格!');
		}
		if(empty($data['title'])) {
			$this->error('商品标题不能为空!');
		}

		//dump($post);dump($data);

		$m = M('Goods');
		$count = $m->where("title='".$data['title']."'")->count();
		if($count > 0) {
			$this->error('该商品已发布!');
		}
		$id = $m->add($data);
		if(empty($id)) {
			$this->error('商品发布失败!');			
		}

		//关键词分词入库

		//发布成功跳转列表
		redirect(__URL__.'/lists');
	}

	/**
	 * (功能描述) 修改商品
	 *
	 * @param 
	 * @return
	 */
	public function modGoods()
	{
		
	}

	/**
	 * (功能描述) 商品列表
	 *
	 * @param 
	 * @return
	 */
	public function lists()
	{
		$g_status = $this->_param('g_status', 'intval', 1); //0 不显示 1 正常 2 下架 

		$c_m = M('Goods');
		$list = $c_m->select();
		//dump($list);

		import('class_page');// 导入分页类
		$count = $c_m->where("g_status='".$g_status."'")->count();// 查询满足要求的总记录数
		$c_p = new Page($count,20);// 实例化分页类 传入总记录数和每页显示的记录数
		$show = $c_p->show();// 分页显示输出

		// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
		$list = $c_m->where("g_status='".$g_status."'")->order('ctime desc')->limit($c_p->firstRow.','.$c_p->listRows)->select();
		$this->assign('list',$list);// 赋值数据集
		$this->assign('page',$show);// 赋值分页输出

		$this->assign('global_username','张三');// 赋值分页输出

		$this->display(); 
	}

	/**
	 * (功能描述) 商品图片上传
	 *
	 * @param 
	 * @return
	 */
	public function uploads()
	{
		$this->display();
	}

	/**
	 * (功能描述) 上传保存
	 *
	 * @param 
	 * @return
	 */
	public function saveUpload()
	{
		
	}



}